草庐IT

AMD 驱动

全部标签

amd - 如何将多个 AMD 模块捆绑在一个文件中?

AMD似乎是按需加载javascript模块的最佳实践。这应该适用于用户仅使用一部分可用功能的大型网络应用程序。我读过有关优化器的信息,它将所有必需的模块连接到一个文件中,并且我读过有关无优化的信息,即使用异步请求加载每个模块。两者似乎都不适合这种用例:用请求加载每个模块可能会很快导致大量请求,而优化会强制您下载所有代码。有没有办法将多个模块捆绑到一个文件中? 最佳答案 是的。一般把应用程序分成那么多文件用AMD加载,只对开发有好处。它有助于保持代码的整洁和可理解;每个模块都包含View、模型、Controller,并且它们中的每一

javascript - JavaScript 库的测试驱动开发

目前我正在为Web服务开发JS库,您可以将它与TwitterAnywhere进行比较。现在我想让它更受测试驱动。测试并不容易,因为它必须在每个想要使用它的站点上运行,当然还要在每个浏览器上运行。如何有效地测试库?所有的API请求和响应都是JSON格式,有没有好的方法来测试这些调用?我知道Cucumber和js-test-driver。您好,切卢斯 最佳答案 Javascript语言本质上是动态的,因此它对测试驱动非常友好。我最近对javascript测试有了一点经验。我已经使用TDD重写了主要的JavaScript组件,并获得了清晰

javascript - RequireJS 和 Headless 测试驱动开发

我希望在我的下一个大型JS项目中使用RequireJS,但是我很难弄清楚如何在headless测试环境中对其进行测试。我对RequireJS和测试驱动的编码方法都不熟悉,所以任何对新手友好的东西都会很棒。 最佳答案 您可以从命令行测试RequireJS模块usingr.jstorunyourscriptsinNode.然后,您可以使用Node模块,例如assert,为您自己创建一个测试套件。这是一个过于简单的例子:scripts/simple.js:define({name:'Reallysimplemodule'});tests/

javascript - 如何在没有 RequireJS 的情况下编写用于页面的 AMD 模块?

我需要重新构建一个现有的AMD模块,以使其在有/没有RequireJS的页面上都可用。我应该怎么做,有没有示例代码?最好是不污染全局命名空间的方法,尽管不是严格要求。 最佳答案 这根本不是一个坏主意,通常需要JS库来支持AMD/非AMD环境。这是解决方案的一种变体:!function(name,definition){if(typeofmodule!='undefined')module.exports=definition()elseif(typeofdefine=='function'&&define.amd)define(na

javascript - 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

我正在使用谷歌的CDN并尝试使用他们的加载器加载我自己的AMD模块。我知道我做错了什么,但我被困住了。有什么想法吗?require(["dojo/_base/kernel","dojo/_base/loader","dojo/parser"],function(dojo){dojo.registerModulePath("pgGallery","http://127.0.0.1:8080/js");});require(["pgGallery/Message"],function(m){m.success("foo");});http://127.0.0.1:8080/js/Messa

javascript - 在设计 JS 库时,我应该让它兼容 RequireJS/AMD 吗?

如果我正在制作一个通用的JavaScript库,我应该如何处理RequireJS支持?据我所知,使您的代码或多或少地与RequireJS兼容会导致无法在没有RequireJS的情况下使用。那我为什么要这么做?没有Require的人如何使用这个代码?有没有办法在不fork/分支的情况下同时支持这两者?我应该提供shim代码吗?我的理解正确吗? 最佳答案 如果您只处理浏览器(而不是node.js),只需几行代码就可以使库同时支持AMD和非AMD。例如,hereisthefilefromjQuerythatdoesit,其中除了四个都是评

javascript - Ajax 驱动的 JavaScript 运行时断言框架

在使用越来越多的JavaScript代码开发更大的Web应用程序时,我们就如何提高代码质量进行了头脑Stormsession。第一个想法是引入单元测试。这将是一个长期目标;但是,这不会解决最常见的回归原因:不断变化的DOM和浏览器特定问题。单元测试在模拟的、无DOM的环境中运行,并且不在页面上。我正在寻找的是一个断言框架,它可以像这样插入到代码中:var$div=$("div.fooBarClass");assertNotEmpty($div);$div.fooBarAction();我发现断言框架可以做到这一点,但它们要么登录到控制台或DOM,要么打开一个愚蠢的弹出窗口。这些都不能与

javascript - AMD 模块整形 : How to load only one JS function?

许多JavaScript库都有一个Builder工具,可以让您“塑造”您所依赖的库的哪些功能,无论是在客户端的下载带宽成本方面还是在隔离您实际需要的功能方面。例如,我喜欢sugar.js中的很多东西,但我根本不需要或不想处理片假名和平假名字符集。作为最简单的示例,我希望能够“塑造”sugar.js以仅导出string.isBlank()。是否有可用的工具为我执行此操作?EcmaScript委员会是否正在努力在未来的JavaScript版本中做这样的事情?是否有任何高级语言(如TypeScript和CoffeeScript)为此类“整形”提供隐藏支持?我可以通过monolinker在C#

javascript - 使用 AMD 将 jQuery 和其他第三方库作为模块导入 TypeScript

问题:有没有办法使用AMD支持(通过编译器)将jquery导入TypeScript模块,以便将jquery作为依赖项包含在内?关键是获取import语句,它使模块成为define语句中的依赖项(见下文)。define(["require","exports",'dataservice','jquery','knockout'],function(require,exports,__ds__,$,ko){...})详细信息:我想将jquery(和其他第3方库)作为AMD的TypeScript模块导入。目标是使它们在require列表中显示为依赖项。但是,使TypeScript执行此操作的

javascript - 模块化 JavaScript——除了 CommonJS 和 AMD 之外,还有什么方法可以考虑吗?

我目前正在为我的公司准备评估JavaScript模块化方法。我们正在为我们的项目定义“JavaScript最佳实践”,模块化是核心问题之一。到目前为止,我的研究揭示了两种主要方法:amdcommonjs周围有大量的加载器、插件、库等。除此之外还有goog.provide/goog.require来自GoogleClosureLibrary.是否有进一步的方法可供考虑?我错过了任何重要/相关的规范吗?我们的要求,简要说明:在单独的文件中构建JavaScript代码。在运行时加载相关模块。...无需将每个文件都包含为脚本标记。不必维护JavaScript文件的索引。支持聚合和缩小-能够构建